package pe.gob.mef.snip.preinversion.controller;

import java.math.BigDecimal;
import java.util.HashMap;
import java.util.Map;

import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import javax.servlet.http.HttpSession;

import org.apache.commons.logging.Log;
import org.apache.commons.logging.LogFactory;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.servlet.ModelAndView;

import pe.gob.mef.snip.preinversion.domain.Estudio;
import pe.gob.mef.snip.preinversion.domain.ProyectoBanco;
import pe.gob.mef.snip.preinversion.service.ProyectoBancoService;
import pe.gob.mef.snip.preinversion.util.Parametros;
import pe.gob.mef.snip.preinversion.util.ServiceException;

@Controller
public class JustificacionController {
	
	protected final Log log = LogFactory.getLog(getClass());

	@Autowired
	private ProyectoBancoService proyectoBancoService;
	private ProyectoBanco proyectoBanco;

	
	@RequestMapping("/justificacionSnip03Listar")
	public ModelAndView justificacionSnip03Listar(HttpServletRequest request, HttpServletResponse response) {
		
		if (log.isDebugEnabled()) log.debug("justificacionSnip03Listar(HttpServletRequest,HttpServletResponse");
	    HttpSession session = request.getSession();	
		Map<String, Object> justificacionSnip03Map = new HashMap<String, Object>();		
	    String viewName = "";
		try{
			justificacionSnip03Map.put("idProyecto", request.getParameter("idProyecto"));
			justificacionSnip03Map.put("version", Parametros.VERSION_FICHA_1);			
			viewName = "frmJustificacion";			
			
		} catch (ServiceException e) {
			e.printStackTrace();
		} catch (Exception e) {
			e.printStackTrace();
		}
		
		return new ModelAndView(viewName,"justificacionSnip03Map",justificacionSnip03Map);	
	
		
	}

	@RequestMapping("/justificacionSnip03Grabar")
	public ModelAndView justificacionSnip03Grabar(HttpServletRequest request, HttpServletResponse response) {
		
		if (log.isDebugEnabled()) log.debug("justificacionSnip03Grabar(HttpServletRequest,HttpServletResponse");
	    HttpSession session = request.getSession();	
		Map<String, Object> justificacionSnip03Map = new HashMap<String, Object>();
		
		proyectoBanco = new ProyectoBanco();    
		String viewName = "";
		try{	
				justificacionSnip03Map.put("idProyecto", request.getParameter("idProyecto"));
				justificacionSnip03Map.put("version", request.getParameter("version"));
						
				proyectoBanco.setProyecto(new BigDecimal((String)request.getParameter("idProyecto")));
				proyectoBanco.setVersion(new BigDecimal((String)request.getParameter("version")));	
				proyectoBanco.setProblema(request.getParameter("ta_planeamientoProblema"));
				proyectoBanco.setBenefNumUbic(request.getParameter("txt_numeroBeneficiarios"));
				proyectoBanco.setBenefCaract(request.getParameter("ta_caractBeneficiarios"));
				proyectoBanco.setObjetivo(request.getParameter("ta_objetivoProyecto"));
				
				/*proyectoBancoService.obtener(proyectoBanco);
				ProyectoBanco pb = (ProyectoBanco) proyectoBanco.getResultBean();

				pb.setProblema(request.getParameter("ta_planeamientoProblema"));
				pb.setBenefNumUbic(request.getParameter("txt_numeroBeneficiarios"));
				pb.setBenefCaract(request.getParameter("ta_caractBeneficiarios"));
				pb.setObjetivo(request.getParameter("ta_objetivoProyecto"));	
				proyectoBancoService.actualizar(pb);				
				*/
				proyectoBancoService.actualizar(proyectoBanco);			

				viewName = "frmJustificacion";			
		
		} catch (ServiceException e) {
			e.printStackTrace();
		} catch (Exception e) {
			e.printStackTrace();
		}
		return new ModelAndView(viewName,"justificacionSnip03Map",justificacionSnip03Map);
	}
	
	
}
